package com.fy.annotion;

import com.fy.common.enums.RedisDataLimit;
import com.fy.common.enums.RedisDataType;
import com.fy.common.enums.RedisUsed;
import com.fy.common.enums.RedisDataLimit;
import com.fy.common.enums.RedisDataType;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.TYPE})
@Documented
public @interface RedisCacheAn {

    /**
     *  缓存名称
     */
    String key();

    String hashKey() default "";

    /**
     * 缓存类型
     */
    RedisDataType dataType() default RedisDataType.STRING ;

    /**
     *  是否分页
     */
    RedisDataLimit limitType() default RedisDataLimit.NO;

    /**
     * 是否使用缓存
     */
    RedisUsed used() default RedisUsed.NO;

    /**
     *  数据缓存时间单位 分钟
     */
    int cacheTime() default 7200;

}